The present invention relates generally to solving constraint satisfaction problems, and specifically to methods and systems for solving such problems using systematic techniques.
Many problems that consist of complex rules, tasks, and resources are addressed by representing them as constraint satisfaction problems (CSPs). In this framework, the task is specified in terms of a set of variables, each of which can assume values in a given domain, and a set of constraints, which the variables are expected to satisfy. The set of variables and constraints is sometimes referred to as a constraint network. Each constraint may be expressed as a relation, defined over some subset of the variables, denoting valid combinations of their values. A solution to the problem is an assignment of a value to each variable from its domain that satisfies all the constraints.